package com.wangyf.thread2;

import java.util.concurrent.TimeUnit;

/**
 * interrupt和sleep连用需要注意的
 * @author wangyf
 * @date 2021/7/12 19:41
 * 在调用 sleep  wait  join的时候都会需要捕捉InterruptedException，需要程序员自己处理这个问题
 * 并且还有一点需要注意 抛出中断异常以后，标志位会被重置为false，防止之后又出现异常无法捕捉
 */
public class T05_interrupt_sleep {
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
            try {
                TimeUnit.SECONDS.sleep(10);
            } catch (InterruptedException e) {
                System.out.println("when sleeping ,but interrupt");
                System.out.println("interrupt: "+Thread.currentThread().isInterrupted());// false
            }
        });

        t.start();
        TimeUnit.SECONDS.sleep(3);
        t.interrupt();
    }
}
